/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Controladores;
import Beans.Articulo;
import javax.swing.*;
import java.util.*;
import Beans.Cliente;
import Beans.Proveedor;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.text.SimpleDateFormat;
/**
 *
 * @author Usuario
 */
public class Marticulos {

    File archivo=new File("D:\\persistencia\\Proveedores.dat");

    public void grabar() throws IOException {

      FileOutputStream   flujoSalida  = new FileOutputStream(archivo);
      ObjectOutputStream objetoSalida = new ObjectOutputStream(flujoSalida);
      objetoSalida.writeObject(this.getListaarticulos());
      objetoSalida.close();
     }


    public void restaurar() throws IOException,ClassNotFoundException {

 	FileInputStream flujoEntrada    = new FileInputStream(archivo);
  	ObjectInputStream objetoEntrada = new ObjectInputStream(flujoEntrada);
  	List<Articulo> art = (List) objetoEntrada.readObject();
  	this.setListaarticulos(art);
        objetoEntrada.close();
    }



   private  List<Articulo> listaarticulos = new LinkedList<Articulo>();

    public List<Articulo> getListaarticulos() {
        return listaarticulos;
    }

    public void setListaarticulos(List<Articulo> listaarticulos) {
        this.listaarticulos = listaarticulos;
    }
    Articulo Ar = new Articulo();
   public SimpleDateFormat formateador = new SimpleDateFormat("'' "
                + "' '  EEEEE 'de' MMMMMMMMMM   'del ' yyyy");


    public Boolean Existe(int cod){
        boolean encontrado=false;
        Iterator ita = listaarticulos.iterator();
        while(ita.hasNext()){
            Ar = (Articulo)ita.next();
            if(Ar.getCodigo()==cod){
                encontrado=true;
            }
         }
    return encontrado;
    } //verificacion existencia


    public void Registrar(Articulo art){
        if(!Existe(art.getCodigo())){
            listaarticulos.add(art);
            JOptionPane.showMessageDialog(null,"Articulo registrado"
                                               + " satisfactoriamente");
        }else{
            JOptionPane.showMessageDialog(null,"El Articulo ya esta "
                                                + "registrado","Informacion",JOptionPane.ERROR_MESSAGE);
        }
    }//Registra articulo

      
    public Articulo Consultar(int cod){
         Iterator ita = listaarticulos.iterator();
            while(ita.hasNext()){
               Ar = (Articulo)ita.next();
               if(Ar.getCodigo()==cod){
                   return Ar;
               }
        }
        return new Articulo();
    }//Consulta Articulo

        public Articulo ConsultarString(String nombre){
         Iterator ita = listaarticulos.iterator();
            while(ita.hasNext()){
               Ar = (Articulo)ita.next();
               if(Ar.getNombre().equals(nombre)){
                   return Ar;
               }
        }
        return new Articulo();
    }

    public void Eliminar(int cod){
         Iterator ita = listaarticulos.iterator();
        while(ita.hasNext()){
            Ar= (Articulo)ita.next();
            if(Ar.getCodigo()==cod){
                listaarticulos.remove(Ar);
                JOptionPane.showMessageDialog(null,"Eliminado satisfactoriamente");
            }
        }
    }//Elimina Articulo



    public void Modificar(int pos,int cod,Articulo articulo){
         Iterator ita = listaarticulos.iterator();
        while(ita.hasNext()){
            Ar=(Articulo)ita.next();
            if(Ar.getCodigo()==cod){
                listaarticulos.set(pos,articulo);
           JOptionPane.showMessageDialog(null,"Los datos se guardaron "
                                                 + "Satisfactoriamente");
            }
        }

    }//Modifica Articulo
    

}
